"""
当使用了print输出对象的时候，默认打印对象的内存地址，如果类定义__str__方法，那么就会打印从这个方法中return的数据

任何一个类，如果直接打印对象，例如p=Person（）  print（p）则结果是内存地址。如果当任何一个类定义了__str__()之后，则打印对象时，指向的就是__str__()方法中的return后的内容
"""
# coding；UTF-8
class Person_Str():
    def __init__(self,name,age):
        self.name = name
        self.age = age
'''
    def __str__(self):
        return'学生的姓名是：%s,年龄是：%d' %(self.name,self.age)
'''
if __name__ == '__main__':
    # 创建对象
    pstr = Person_Str('张三',99)
    print(pstr)    # 直接打印对象即可，所以__str__()方法可以避免直接打印对象时出现内存